﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Telerik.WinControls;
using ICNCentral.InterfazGrafica;

namespace ICNCentral.InterfazGrafica
{
    public partial class Frm_MenuPrincipal : Telerik.WinControls.UI.RadForm
    {

        // DATOS PERSONALES
        public int      UsuarioActivo;
        public int      UsuarioLegajo;
        public string   UsuarioApellido;
        public string   UsuarioNombres;

        // NIVEL DE SEGURIDAD DE ACCESO PRINCIPAL
        public int      NivelDeAccesoPrincipal;
        // PUNTOS DE ACCESO A APLICACIONES ADHERIDAS Y NIVEL DE SEGURIDAD
        public int      AccesoAMemosNivel = 0;
        public int      AccesoAHelpDeskNivel = 0;
        public int      AccesoAdistribucionNivel = 0;
        //=================================================


        public Frm_MenuPrincipal()
        {
            InitializeComponent();
        }

        private void Frm_MenuPrincipal_Load(object sender, EventArgs e)
        {
            
            //===========================================================================================================================\\
            //                                      DESCRIPCION DE LOS NIVELES DE SEGURIDAD:
            //===========================================================================================================================\\
            //   _ NIVEL 1. (POSEE ACCESO A TODOS LOS RINCONES DEL SISTEMA)
            //   _ NIVEL 2. (YA SE EMPIEZA A PREGUNTAR DONDE PUEDE MAS PUEDE ENTRAR PERO SERIA NIVEL AUDITORIA)
            //   _ NIVEL 3. (SERIA A NIVEL DE ENCARGADO)
            //   _ NIVEL 4. (SERIA A NIVEL DE USUARIO OPERADOR CON PRIVILEGIOS)
            //   _ NIVEL 5. (Y POR ULTIMO NIVEL OPERADOR DATA ENTRY )
            //===========================================================================================================================\\



            //===========================================================================================================================\\
            //===========================================================================================================================\\
            // ACA SE EMPIEZA A DECIDIR SOBRE LOS PERMISOS DEL USUARIO QUE ES LO QUE LE PERMITIRA OPERAR                                 \\

            label1.Text = AccesoAMemosNivel + " " + AccesoAHelpDeskNivel + " " + AccesoAdistribucionNivel;

            if (NivelDeAccesoPrincipal != 0)
            {
                Mnu_Informatica.Visibility = ElementVisibility.Visible;       //
                switch (NivelDeAccesoPrincipal)
                {
                    case 1:
                        Mnu_Memorandums.Visibility = ElementVisibility.Visible;     // HABILITAMOS LA ENTRADA AL SISTEMA DE MEMOS
                        Mnu_HelpDesk.Visibility = ElementVisibility.Visible;        // HABILITAMOS LA ENTRADA AL SISTEMA HELP DESK
                        Mnu_Distribucion.Visibility = ElementVisibility.Visible;    // HABILITAMOS LA ENTRADA AL SISTEMA DE DISTRIBUCION
                        Mnu_NavegadoresSql.Visibility = ElementVisibility.Visible;
                        Separador4.Visibility = ElementVisibility.Visible;
                        Btn_AdmCPU.Visibility = ElementVisibility.Visible;
                        Separador6.Visibility = ElementVisibility.Visible;
                        Btn_AdmMonitores.Visibility = ElementVisibility.Visible;
                        Separador8.Visibility = ElementVisibility.Visible;
                        Btn_AdmConectores.Visibility = ElementVisibility.Visible;
                        Separador10.Visibility = ElementVisibility.Visible;
                        Btn_AdmImpresoras.Visibility = ElementVisibility.Visible;
                        Btn_AdmLimpieza.Visibility = ElementVisibility.Visible;
                        Btn_AdmReparaciones.Visibility = ElementVisibility.Visible;
                        Btn_AdmUsuarios.Visibility = ElementVisibility.Visible;
                        break;
                    case 2:
                        Mnu_NavegadoresSql.Visibility = ElementVisibility.Visible;
                        break;
                    case 3:
                        break;
                    case 4:
                        break;
                }
            }

            if (AccesoAMemosNivel != 0)
            {
                Mnu_Memorandums.Visibility = ElementVisibility.Visible;             // HABILITAMOS LA ENTRADA AL SISTEMA DE MEMOS
                switch (AccesoAMemosNivel)
                {
                    case 1:
                        break;
                    case 2:
                        break;
                    case 3:
                        break;
                    case 4:
                        break;
                    case 5:
                        break;
                }
            }

            if (AccesoAHelpDeskNivel != 0)
            {
                Mnu_HelpDesk.Visibility = ElementVisibility.Visible;                // HABILITAMOS LA ENTRADA AL SISTEMA HELP DESK
                switch (AccesoAHelpDeskNivel)
                {
                    case 1:
                        break;
                    case 2:
                        break;
                    case 3:
                        break;
                    case 4:
                        break;
                    case 5:
                        break;
                }
            }

            if (AccesoAdistribucionNivel != 0)
            {
                Mnu_Distribucion.Visibility = ElementVisibility.Visible;            // HABILITAMOS LA ENTRADA AL SISTEMA DE DISTRIBUCION
                switch (AccesoAdistribucionNivel)
                {
                    case 1:
                        break;
                    case 2:
                        break;
                    case 3:
                        break;
                    case 4:
                        break;
                    case 5:
                        break;
                }
            }

            // PARA ESTE ENTONCES EL SISTEMA DEBE HABER IMPLEMENTADO EL ACCESO A LA INTERFAZ SEGUN LOS PERMISOS LEIDOS RECIEN            \\
            //===========================================================================================================================\\
            //===========================================================================================================================\\

            Lbl_NombreUsuario.Text = "Bienvenido: " + UsuarioNombres + ", " + UsuarioApellido;
        }
        
        
        // ACA RESTRINGIMOS LA SALIDA DEL SISTEMA SOLO POR EL MENU
        private void Frm_MenuPrincipal_FormClosing(object sender, FormClosingEventArgs e)
        {
            switch (e.CloseReason)
            {
                case CloseReason.UserClosing:
                    e.Cancel = true;
                    break;
            }
        }

        
        private void Mnu_CargaCPU_Click(object sender, EventArgs e)
        {
            Frm_CargaCPU frm_cargaCPU = new Frm_CargaCPU();
            frm_cargaCPU.Show();
        }

        private void Mnu_CargaIMP_Click(object sender, EventArgs e)
        {
            Frm_CargaIMP frm_cargaIMP = new Frm_CargaIMP();
            frm_cargaIMP.Show();
        }

        private void Mnu_CargaCNX_Click(object sender, EventArgs e)
        {
            Frm_CargaCNX frm_cargaCNX = new Frm_CargaCNX();
            frm_cargaCNX.Show();
        }

        private void Mnu_CargaMONITORES_Click(object sender, EventArgs e)
        {
            Frm_CargaMonitores frm_cargaMONITORES = new Frm_CargaMonitores();
            frm_cargaMONITORES.Show();
        }

        private void Mnu_CargaLIMPIEZA_Click(object sender, EventArgs e)
        {
            Frm_CargaLimpieza frm_cargaLIMPIEZA = new Frm_CargaLimpieza();
            frm_cargaLIMPIEZA.Show();
        }

        private void Mnu_CargaREPARACION_Click(object sender, EventArgs e)
        {
            Frm_CargaReparacion frm_cargaREPARACION = new Frm_CargaReparacion();
            frm_cargaREPARACION.Show();
        }

        private void Mnu_AbandonarPrograma_Click(object sender, EventArgs e)
        {
            Frm_PreguntaSiNo frm_salir = new Frm_PreguntaSiNo();
            frm_salir.Lbl_Pregunta.Text = "¿Está seguro que desea abandonar la aplicación?";
            frm_salir.Text = "Saliendo del sistema...";
            frm_salir.Btn_Aceptar.Text = "Salir";
            frm_salir.Btn_Cancelar.Text = "Volver";
            frm_salir.Opcion = 1;
            frm_salir.Show();
            frm_salir.TopMost = true;
        }

        private void Mnu_CierraSesion_Click(object sender, EventArgs e)
        {
            Frm_PreguntaSiNo frm_salir = new Frm_PreguntaSiNo();
            frm_salir.Lbl_Pregunta.Text = "¿Está seguro que desea cerrar la sesión?";
            frm_salir.Text = "Cerrar sesión...";
            frm_salir.Btn_Aceptar.Text = "Cerrar";
            frm_salir.Btn_Cancelar.Text = "Volver";
            frm_salir.Opcion = 2;
            frm_salir.Show();
            frm_salir.TopMost = true;
        }
    }
}
